package monitor;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

public class Host {
	private String ip;
	private int porta;
	private int tipoMonitorado;
	private String grupoTrabalho;
	private Map<String, Componente> componentesConhecidos;

	
	public Host(){
		componentesConhecidos = new HashMap<String, Componente>();
	}
	
	public String getGrupoTrabalho() {
		return grupoTrabalho;
	}

	public void setGrupoTrabalho(String grupoTrabalho) {
		this.grupoTrabalho = grupoTrabalho;
	}

	public int getTipoMonitorado() {
		return tipoMonitorado;
	}

	public void setTipoMonitorado(int tipoMonitorado) {
		this.tipoMonitorado = tipoMonitorado;
	}

	public String getIp() {
		return ip;
	}

	public void setIp(String ip) {
		this.ip = ip;
	}

	public int getPorta() {
		return porta;
	}

	public void setPorta(int porta) {
		this.porta = porta;
	}

	public boolean equals(Host host){
		boolean resultado = false;
		if((host.ip == this.ip) && (host.porta == this.porta)){
			resultado = true;
		}
		return resultado;
	}

	public void addComponent(Componente componente){
		if((componentesConhecidos.size() == 0)||(!componentesConhecidos.containsKey(componente.getTipoMonitorado())))
	       componentesConhecidos.put(componente.getTipoMonitorado()+"",componente);	
	}
	
	public Collection<Componente> getComponents(){
		return componentesConhecidos.values();
	}
}
